Vous voulez l’essayer par vous-même ?
Licences open source : types et comparaison
De nombreux acheteurs de logiciels, et même de jeunes développeurs, pensent à tort que « open source » signifie que le logiciel peut être utilisé, copié, modifié et distribué à volonté. Il se peut que ce malentendu provienne d’une confusion avec les notions de domaine public ou de shareware, qui sont tous deux libres d’être utilisés et modifiés sans autorisation ni licence spécifique.
En vérité, la plupart des logiciels open source sont soumis à l’un des nombreux types de licences open source et ne sont pas forcément gratuits.
Contrairement aux logiciels propriétaires pour lesquels les éditeurs empêchent généralement l’accès, la copie ou la modification du code source, le code open source permet d’utiliser, réutiliser, partager, modifier et distribuer du code dans d’autres programmes ou applications. Mais tout comme pour les licences de logiciels propriétaires, les logiciels open source sont soumis à diverses conditions et restrictions juridiques, selon le type de licence open source appliqué. Il est donc important de respecter les termes des licences des logiciels open source.Vous devez également être conscient des autres risques associés à l’utilisation des logiciels libres.
Cet article décrit les différents types de licences open source et comment tous cherchent à protéger à la fois les auteurs et les utilisateurs du logiciel, en contrôlant l’utilisation abusive et non autorisée du code open source.
Qu’est-ce qu’une licence open source ?
Les licences de logiciels open source régissent la manière dont les personnes (autres que l’auteur) peuvent utiliser, modifier ou distribuer le code du logiciel. Elles accordent aux autres utilisateurs la permission et les droits d’utiliser ou de réaffecter le code à de nouvelles applications ou de l’inclure dans d’autres projets.
L’un des principaux avantages du code open source est sa visibilité, qui facilite la résolution des problèmes et la compréhension du fonctionnement lorsque la documentation fait défaut.
Selon le type de licence open source, vous pouvez même être autorisé à modifier le code source original pour l’adapter à vos besoins ou corriger les problèmes que vous détectez. La licence déterminera si cela est possible, et sous quelles conditions. Par exemple, il peut vous être demandé de rendre toute modification accessible au public.
Découvrez-en plus sur la sécurité open source avec Snyk
Lisez notre rapport 2023 sur la sécurité open source ou consultez notre top 10 des vulnérabilités open source
Quels sont les différents types de licences open source ?
Il existe plus de 80 variantes de licences open source, mais elles entrent généralement dans l’une des deux catégories principales : le copyleft et le permissif.
Le copyleft est un type de licence dans lequel le code dérivé du code open source original hérite de ses conditions de licence.
La licence permissive offre une plus grande liberté de réutilisation, de modification et de distribution.
Licences copyleft
Les licences open source copyleft les plus populaires, sont, par ordre de restriction : AGPL, GPL, LGPL, EPL et Mozilla.
La licence publique générale GNU (GPL) préserve les notifications de licence et les conditions du droit d’auteur. Elle convient à une utilisation commerciale, brevetée et privée. Tout logiciel qui utilise du code GPL doit distribuer tout son code source sous la même licence. Si vous utilisez du code GPL dans votre logiciel (par exemple, en utilisant une bibliothèque GPL), et que vous distribuez votre application, tout votre code source doit être distribué sous la même licence GPL. Cette restriction fait de la GPL une licence copyleft forte.
La licence Affero GPL (AGPL) n’ajoute qu’une seule clause, mais celle-ci est importante pour certains logiciels. Étant donné que la licence GPL n’est déclenchée que lorsque le logiciel est distribué, il existe une faille pour les logiciels qui sont mis à disposition sur le réseau uniquement, c’est-à-dire qui ne sont pas explicitement « distribués ». La licence AGPL comble cette lacune en incluant une clause d’interaction réseau à distance qui déclenche la licence GPL pour tout logiciel utilisé sur un réseau.
La licence publique générale limitée (LGPL) offre le même niveau de conditions que les licences open source copyleft AGPL et GPL, avec préservation des droits d’auteur et des notifications de licence. La principale différence est que les petits projets ou objets auxquels on accède par le biais de travaux sous licence plus importants ne nécessitent pas la distribution du projet plus important. De plus, la source modifiée n’a pas besoin d’être distribuée selon les mêmes conditions que celles qui s’appliquent au projet de code plus important.
L’Eclipse Public License (EPL)est couramment utilisée pour les logiciels d’entreprise. Avec l’EPL, les logiciels développés à l’aide de codes EPL, non EPL et même propriétaires peuvent être combinés et faire l’objet d’une sous-licence, à condition que les éléments non EPL résident indépendamment en tant que modules ou objets distincts. Des modifications peuvent être apportées sous la licence EPL, mais elles doivent être publiées sous les mêmes conditions.
La Mozilla Public License (MPL) est la licence de logiciel open source copyleft la moins restrictive. Elle permet de modifier et d’utiliser facilement son code dans des logiciels fermés et/ou propriétaires, à condition que tout code sous licence MPL soit conservé dans des fichiers séparés et que ces fichiers soient distribués avec le logiciel. La MPL comprend également des concessions de brevets et impose la conservation des déclarations de droits d’auteur.
Licences permissives
Les licences open source permissives les plus populaires sont : Apache, MIT, BSD et Unlicense.
La licence Apache exige des notifications de licence et de droits d’auteur sur le code distribué et/ou sous forme de mention dans le logiciel. Cependant, les travaux dérivés, les projets plus importants ou les modifications sont autorisés à porter des conditions de licence différentes lorsqu’ils sont distribués et ne sont pas tenus de fournir le code source. Les licences Apache contiennent une concession de brevet.
La licence MIT, du nom de la célèbre université dont elle est issue, est peut-être la licence open source la plus utilisée au monde, sans doute parce qu’elle est très courte, claire et facile à comprendre. Elle permet à quiconque de faire ce qu’il souhaite avec le code original, à condition que l’avis de droit d’auteur et de licence soit inclus dans le code source ou le logiciel distribué. Elle supprime toute responsabilité des auteurs et ne contient pas explicitement de concession de brevet.
La licence Berkeley Source Distribution (BSD) est également une licence open source permissive qui préserve les avis de licence et les droits d’auteur, mais autorise la distribution de travaux plus importants ou sous licence sans code source et sous des conditions de licence différentes. La licence BSD à deux clauses est très similaire à la licence open source MIT, tandis que les licences BSD à trois et à quatre clauses ajoutent des exigences ou des restrictions liées à la réutilisation et à d’autres conditions.
L’Unlicense (sans licence) est la moins restrictive des licences open source, car elle revient à rendre l’open source au domaine public. Aucune condition ne s’applique : ces travaux sans licence peuvent être distribués sans code source et sous des conditions différentes.
Quelle est la meilleure licence open source ?
Le choix d’un type de licence open source dépend largement de l’intention du concédant ou du développeur quant à l’utilisation du logiciel. Voici quelques points à garder à l’esprit lorsque vous comparez des licences :
Il faut être prudent lors du choix d’une licence copyleft. Si la licence originale est très permissive, le code modifié est également sans restriction, ce qui peut léser l’auteur.
Ceci étant dit, les licences copyleft fournissent généralement plus de restrictions, et peut-être une moindre responsabilité, que les licences permissives.
Lorsque l’intention est de rendre le code aussi réutilisable et partageable que possible, un niveau de licence permissive est probablement le meilleur choix.
Si vous développez un logiciel utilisé sur un réseau, il peut être très avantageux de choisir la licence AGPL. Les bases de données open source en sont un exemple typique : en n’utilisant pas la licence AGPL, n’importe quelle entreprise (comme un grand fournisseur de cloud) peut améliorer votre produit et le monétiser sans être tenue de diffuser ses modifications.
Il existe deux versions principales de la licence GPL : GPLv2 et GPLv3. Les nombreuses différences qui existent dans la GPLv3 traitent pour la plupart de questions non couvertes par la GPLv2, comme les brevets. La GPLv3 améliore également la compatibilité avec d’autres licences open source telles que la licence Apache v2. Notez cependant que les deux versions de la GPL ne sont pas compatibles entre elles.
Les licences MIT, très couramment utilisées, ont l’avantage d’être bien reconnues et communément comprises. L’utilisation des logiciels sous licence MIT n’est soumise à aucune restriction concernant la redistribution ou la monétisation, ce qui rend ces produits très attractifs pour tout type d’utilisation. La licence MIT est compatible avec de nombreuses autres licences open source, ce qui signifie que le code sous licence MIT peut être utilisé dans d’autres projets open source qui utilisent des licences différentes.
Contrôle des licences open source
Un grand nombre de développeurs, d’entreprises et d’éditeurs de logiciels commerciaux disposent d’une combinaison de plusieurs types de licences open source. Le maintien du contrôle de ces licences peut gagner en complexité à mesure que les logiciels sont développés, achetés et distribués :
Maintien des types de licences dérivées basées sur les licences du logiciel original
Connaissance des dates d’entrée en vigueur et des exigences de renouvellement
Snyk fournit une solution complète de conformité aux licences pour vous aider à garder un rythme de développement rapide tout en restant conforme aux licences des logiciels open source dans vos projets.
« L’outil Snyk identifiant les problèmes de licence open source, il permet à nos développeurs de générer un rapport propre et gérable qu’ils peuvent envoyer à l’équipe juridique, ce qui leur fait gagner un temps de travail considérable. »
Scott Mitchell, responsable de la sécurité des applications chez Blue Prism
Profitez d’une démo de Snyk pour la sécurité open source
Échangez avec nos experts de la sécurité pour voir comment Snyk peut vous aider à utiliser l’open source en toute sécurité
That's it for this collection!
Afficher plus Articles de formation